Alex Byrne
Youth Services Librarian
Mastodon: @TheyofHIShirts at glammr.us
for
Seattle GNU/Linux Conference (SeaGL)
4 November 2023
#SeaGL2023
My Background
Let's start with a little bit of my background. I've been a tinkerer with computers for most of my life, including that rare privilege of being able to have a computer in my own room as a child, and having taken apart and upgraded that computer repeatedly over time as I was able to source components for it. Beyond that, I've installed, reinstalled, upgraded, and worked with various operating systems, including MS-DOS, Windows from version 3.0 onward, and various flavors of Linux once I had a computer that it would play nicely with.
Most of that work has been in the service of trying to get video games to work so I could play them on my own computers, and on a child's budget, each component is usually carefully chosen and saved for so that maximum effect can be achieved for the available monies. These days, I have more freedom to spend money and can therefore occasionally dedicate a small computer to a single-ish task, rather than having to make one machine (or two) do everything that I want to have happen. All told, that gives me thirty-*cough* years of experience with trying to build and work with machines inexpensively.
In my professional life, I work as a librarian in a public-facing setting, which means I have a vast range of grownups and children that I see regularly, and who have an entire spectrum of technology issues and questions they have for me and the other people I work with. My organization has recently adopted a focus on working with people who are ALICE: Asset Limited, Income Constrained, Employed. ALICE folks are working, sometimes multiple jobs, but they generally don't have deep reserves to draw on in case of expensive emergencies, they're not usually building assets that they can draw on later on in life, and the money they're making might be enough to get them from one month to the next, but it's not likely to be more than that. What that means, though, is that ALICE folks are usually making more money than the Federal Poverty Level (FPL) and therefore don't qualify for many of the assistance programs put in place by U.S. state or federal governments, but less money than they would need to comfortably live on their wages and to put some away for savings and emergencies.
The Problem Space
The problem space we're looking at is more general than ALICE families, but ALICE families are more likely to be in this problem space than others, so a solution that works for them will likely apply well to those outside of the ALICE space.
Both children and grown-ups often find themselves with computing resources that have been provided to them by either their schools or their employers. Because the schools/employers want to protect the assets that they've purchased and to ensure that unauthorized activities do not take place on their machines, most of the computers provided by schools or employers have been locked down in one way or another, so that all of their functions are not available to the user. Many of these machines also have monitoring software installed on them so that attempted unauthorized use is captured and reported to the school or employer so that disciplinary action follows. Spyware, bossware, and locked functions indicate a lack of trust between the issuing authority and the user about what appropriate use is.
Public access computers, such as those available at public libraries, are often subjected to the same kinds of constraints and locking of functions, along with some of the same kinds of reporting functions in case of misuse or illegal activities, and children are usually subjected to filtered internet access as a requirement of the Children's Internet Protection Act, which ties necessary discounts on computer equipment and services ("e-rate discounts") to the use of "technology prevention measures" to restrict a child's access to unapproved portions of the Internet. So while the library computers may be more open than school computers, they are not open in the way we would like them to be.
A significant number of low-cost technology options change the general-purpose computer into an app device, where what the machine can do is mediated by whatever the "app store" carries. Most computers that have been changed into app devices have a significant amount of their functionality locked away. Much of this simplification and locking is intended to prevent malicious apps from entering the ecosystem, but also has the knock-on effect of subjecting the user to whatever the app store creator believes is "appropriate" functions for the device to have. What the app store creator determines is appropriate is usually heavily influenced, if not outright dictated, by advertisers who will be extremely cross if their ad appears on a post about content they would not want associated with their brand.
Thus, the problem we are facing is that most people do not have a general-purpose computing device that they can exercise full control over. That lack of control over their device impedes gaining proficiency in not just the device, but the general concepts underlying the specific implementation a device may have that are transferable to other situations in their lives where they must navigate unfamiliar situations.
The Target Audience
The target audience, then, for a hypothetical give-away computer is vast and spans most demographic categories. Mud-spattered children, tweenagers, and teenagers who have been told all of their lives that they are "digital natives" and therefore need absolutely no training at all on how to use computers, because they've been using them all their lives and have osmosed everything necessary to succeed. Adults who have some computer skills but are looking to expand their knowledge and try to find ways to achieve the tasks they want to without fighting locked-down machines or other entities insisting that this is not something a good user should be trying to do on this device. And, a class of people that I see regularly, seniors and valued elders who have had a device bought for them, dumped into their lap, told "it's easy, it's intuitive, you'll figure it out on your own," and who can't seem to find anyone who can answer their questions about everything, because nobody has taken the time to explain a damn thing to them about anything at all, on the assumption that everything is easy and intuitive. All of these people will benefit from having a general-purpose computer they can fully control in their lives.
The Requirements
If we were building an ideal give-away computer to solve the problems that we have, for the target audience that we are aiming for, what's non-negotiable about that machine?
- It must be inexpensive.
- Expensive devices are treated more carefully than others, and a significant amount of knowledge about computing, and especially about recovering from errors and difficult situations, is about doing things that are potentially dangerous to the stability of the machine itself. A computer that costs $750, $1500, or even one that costs $300, where that $300 is the result of months of squeezing a budget to afford it, is going to be treated as a precious object instead of a learning device. (Additionally, funders like being able to distribute as many units as they can for grant funding, so the less each unit costs, the more they can give away.)
- It must not be locked in any manner.
- These machines are meant to expand knowledge and encourage experimentation, therefore we must exclude any device that is limited-purpose or that, by design, prevents access to certain parts of the system. We cannot, therefore, give away Arduino, Android, iOS, or other devices with locked layers, dependencies on App Stores, or that can only be used with a limited number of apps. (ChromeOS also fails in this regard, but stick a pin in that, because the devices themselves that ChromeOS runs on may still be useful to our purposes, once we have removed ChromeOS from them.)
- It must be general-purpose.
- This device must be able to perform the basic tasks of a general-purpose computer. It must be able to edit text, edit still images, browse the World Wide Web, watch videos, listen to sounds, and play games. It does not have to be able to multi-task these options, nor does it have to be able to play AAA games or seamlessly encode 8k video at 120 frames per second.
- It must be fixable when it breaks.
- This counts for both hardware and software. The ideal computer can have components swapped out if they fail, software patched if it becomes a security risk or new functions are developed for it, and if everything goes completely pear-shaped, it should be easy to wipe it all out and start again, either fresh or from a backup. By lowering the costs of failure or unwinnable situations, we encourage experimentation and doing potentially dangerous things with big potential payoffs. As well as helping someone learn to diagnose issues, read error messages, and find information and solutions by reading manual pages and other documentation about what they are trying to do.
The Niceties
Beyond the requirements, there are also some thing we would like about this computer that aren't required, but will make all of our goals easier to achieve.
- Hardware is user-accessible and user-upgradable.
- Preventing e-waste is important in this situation, so it would be very nice if the ideal give-away computer not only lets the user access the hardware and see how it's all put together, but allows the user to swap in a new, more powerful component to keep the machine running and on task, or if they come into a little bit of a windfall and decide to spend it on getting their perfectly fine computer able to keep going for a few more years.
- Portable
- We want the ideal give-away computer to be portable, so that users can collaborate with each other on projects, so users can take the machines (and their error messages) to a place with a knowledgeable person so they can see what is going wrong firsthand, and because a lot of users need their computing resources available to them where they are at the moment, rather than having to be at a particular space to engage with their computers.
- Truly inexpensive
- The ideal give-away computer should cost less than $100 USD to fully kit out and be ready for a user to pick up and start using at the point of acquisition. That stretches grant budgets quite a bit, and it allows for people who want to sell such machines at cost, or as part of "buy one, give one" schemes to not price themselves out of their target market or force themselves to rely on the largesse and good will of people to spend more money than they otherwise might so that someone else can also have a necessary piece of technology.
- Desktop computers are user-serviceable and upgradable, and their software can be upgraded, mostly, but they're not portable and most of them are expensive, even if you're trying to source all of the components cheaply.
- Single-board computers are not user-serviceable or upgradable (not really), but they do have a low barrier to wiping things out and starting again, or trying to fix things in software. They're portablish, in that they have a small footprint, but that footprint can be made much bigger if all the cables and peripherals have to be carted around everywhere.
- Laptops or end-of-life Chromebooks are not usually user-serviceable or upgradable (or not easily so if they are), but they do have fixable software, they are portable, and depending on where they're sourced from, they can be inexpensive or really expensive. (Even devices like the Pine64 Pinebook Pro, which house an SBC with everything needed to make it a functioning laptop, are still in the multiple-hundreds of dollars at the moment of this presentation.)
- Opening up a computer to change the components or disable the write-protection
- Enabling developer modes or entering setup screens to change boot settings
- Using a shell in a terminal to enter commands
- Flashing an image to storage and making it bootable
- Installing an operating system from a bootable drive or card
- Altering configuration text files in text editors, possibly without the benefit of a GUI to do so
- Adding third-party / non-free / user-created or user-maintained repositories to package managers
Desktops and Single Board Computers (SBCs)
Let's take a look at some candidate possiblities for give-away computers.
A 2022 study conducted by Nielsen (you know, the people who do the TV ratings) said that only 19% of U.S. households had one television in them, and the average number of TVs in a U.S. hosehold was 2.3. On average, therefore, there is at least one TV that could be used as a computer screen without disrupting any television viewing going on in the household. With a screen already in place, all that's left to provide is the computer. Desktop computers and single-board computers (SBCs) could slot themselves very well into this situation and provide inexpensive and powerful computing for someone.
Desktop machines have the drawback of not being very portable, and the ones that are compact and meant to take up small amounts of space are often not very user-serviceable or upgradable because of the engineering that has gone to work in putting all of the components in the small space that exists. (They also tend to be more expensive than towers, I have found.)
Single-board computers are small-footprint, and some of the ones that take their inspiration from computer systems like the Commodore 64 (e.g. the Raspberry Pi 400 / Orange Pi 800 lines) are much more portable than a desktop and often have fewer cabling requirements, but SBCs in general are underpowered compared to desktops and laptops, and they generally have a more limited scope of software and operating systems they can run.
End-of-life (EOL) Chromebooks
While great strides are being made in making laptop computers more affordable, for the most part, your standard laptop is going to be beyond the price range of give-away computer. The "netbook" craze of a few years ago provided the possibility of hope, but when compared to their bigger and beefier cousins, netbooks didn't quite work out the way they were intended to. And many of them were designed to run Windows XP and nothing more, so…
However, in their place, and with the backing of the tech giant Google, Chromebooks have stepped in to fill the void of low-cost portable computing devices. Chromebooks as they are presented and intended to be used would be ineligible as give-away computers, because they are extremely tied to either the Chrome Web Store or Google Play Store. For those who are willing to enter "Developer Mode," or go into the Developer settings and enable it, there is a Linux side to them, but that requires being willing to take risks with a machine and to explore a place that's clearly marked as not for the average user.
The most punishing thing about Chromebooks is that, like Apple devices, they have a shelf life. Regardless of whether the underlying hardware is still usable, a Chromebook will only receive software updates for ten years after it is first put on the market. At that point, the options are to continue using a device that is no longer getting updates (a risky proposition) or to junk the machine and get another. Which then leaves a device destined for the e-waste pile, except that a very enterprising user named MrChromebox has developed a script that can be run from the Linux side of a Chromebook to install Coreboot, a UEFI-compatible framework so that Chromebooks can boot other operating systems. To successfully achieve this, the write protection on the Chromebook has to be disabled, and developer mode activated, but a successful use of the script produces a Linux or Windows-capable laptop (with possible hiccups, depending on how well the particular Chromebook model is supported. MrChromebox advises against buying a Chromebook with the intent of turning it into a Windows or Linux computer, but give-away mavens sometimes have to ignore such advisories in service of making something work.)
Being able to turn a Chromebook that is out of software updates for ChromeOS into a computer that can continue to receive updates not only keeps it out of the e-waste pile, but it allows the enterprising give-away computer worker to access a potentially large pile of computers to be repurposed. Schools, for example, often use Chromebooks as their student-issued computers, and after they have served their purpose in the school, they are often sent to the state organization in charge of property disposition, at which point they are sold, often in large lots, for very little money per unit. Admittedly, because they are school devices, there's a high probability that buying a pallet of Chromebooks will not result in all of them being able to work out of the box, but if the percentage of duds is low enough, then you have a portable platform to work from and to create give-away computers with for very inexpensively.
Pick Two
Unfortunately, there's nothing that fits exactly what we're looking for in the requirements and the niceties of a give-away computer. We can choose some of the attributes we want, but not all of them.
Software Considerations
For the operating system of the Give-Away Computer, Linux is really the only option we have to keep it to a manageable cost. Hand-me-down computers that come with their own OS licenses are helpful, but even then, Microsoft and Apple eventually sunset one version of the OS and demand that you upgrade to the next if you intend to keep receiving security updates.
Unfortunately, Linux is emphatically not the choice of OS I would prefer someone to use, beause the greatest freedom of Linux is its greatest curse: customizability. With as many possible distributions, window managers, desktop environments, and ways of doing Linux as there are people willing to maintain their way of doing Linux, any user will be quickly overwhelmed with all of the possible choices they could make. In an ideal world, the Give-Away computer would come with some kind of live-boot medium that's been set up so that a user can experiment with a few different distributions and flavors and make a decision about which one they want to install on their computer. If that's not possible, making it as easy as possible to wipe one flavor and install another is a good decision. Even in that case, though, there will have to be some decisions made about what qualifies as a sensible default configuration for people who are probably going to be completely new to Linux, even if they're not new to concepts like a Graphical User Interface.
Size Problems: On Chromebooks
Unfortunately, a lot of the "beginner-friendly" distributions (I used DistroWatch's list of "beginner-friendly" distributions as my jumping-off point), and of the 9 distributions listed at the top of the list, only 3 (Ubuntu-MATE, Linux Lite, and Zorin) would install to the 16GB internal EMMC of a Chromebook and leave enough space for user files and system upgrades. If the EMMC upgraedes to 32GB, then 4 more (Mint, Ubuntu, PCLinuxOS, and Netrunner) join the "could fit comfortable on this with space for upgrades and user files" category. There's always going to be a tension between the low power and low storage of old devices and what new operating systems demand for themselves, so it's likely that as the available storage on end-of-life Chromebooks increases, so will the install requirements of various distributions.
Size Problems: On SBCs
Single-board computers fare a little better for choices, using the Distrowatch Raspberry Pi list as a proxy for what can run on single-board computers. On an inexpensive 8GB microSD card, 4 of the 8 (Ubuntu-MATE, Void Linux, Raspberry Pi OS Lite (no desktop), and DietPi) claim they'll fit and leave space for user content. If we go up to a 16GB microSD card, we add two more (Manjaro and Raspberry Pi OS Desktop) that can fit. And, again, as prices for storage continue to drop, there will eventually be enough storage space to go around, although I suspect that image sizes will also increase in these cases as well.
Technical Skills Necessary For Setting Up the Give-Away Computer
All throughut this presentation, we've been talking about several highly technical skills and operations that someone interested in this give-away computer might have to do to get their machine set up properly, and assuming that someone along the way has these skills and can use them to put the machine into a good order. Things like:
are all possible things that have to be done to set the give-away computer up and make it go. Or to set it up after it's been given away, if all that comes with the computer is instructions.
User Support
The set-up and give-away of the machine, however, is not the end of the relationship that we want this user to have with their computer. For many of our target audiences, they not only need a machine, they need assistance and reassurance that they can experiment and play with this machine, and they need to have the tools and procedures on hand to fix things or reset things if they go completely wrong. Many of the computer users I work with in my professional capacity are terrified that if they don't do something exactly correctly, their information will be stolen and their lives will be ruined. This fear generally keeps them from wanting anything more than "make this problem go away so I don't have to think about it again." If we give someone that afraid of a computer a computer of their own, and tell them to play with it and experiment, that's not going to happen.
What works better for most users is if they have someone nearby who is knowledgeable and who can help them learn in a supported environment. When they're not fearing for their livelihoods, several of the people I work with are very competent at working machines and software, and they usually just need me to be sure that they're doing things correctly, or in the way that works with library systems to do things like print. And sometimes they need someone nearby to point out to them where they're doing something that's different than what they said they wanted to do, because they either didn't read the link before clicking it, or because they have a field left unfilled, or because they're trying to do something they've done before, but the circumstances of the new thing are different than what's been done before.
Do Your Own Support
Now, just because these are all things I can do, that does not mean these are all things that I want to do forever and always. Don't you dare foist all of the support responsibilities on your public library worker. Unless, that is, you have a grant in your back pocket to train every one of the public library workers in your area up to the standard of being able to support these give-away computers flawlessly. This is not easy work in any way, shape, or form, and an already overburdened public library worker will likely send seventh-generation curses in your direction if you drop technology in someone's hands and then ditch.
Remember that much of our target audience are people who have already had technology dropped in their lap with the assurance that they don't need training for it. It would be ill-advised for someone who wants to give them something they can actually control to repeat the same error. The give-away computer also needs enough support and scaffolding for the user so they will use it for all of the purposes they can envision.
TLDR
The Too Long, Didn't Read (Or Other Session, Didn't Listen) for this talk is this: There is no ideal give-away computer. Depending on the situation at hand, inexpensive desktops, single-board computer systems, or laptops / converted Chromebooks may be better or worse for someone to receive as a computer of their vary own.to experiment with and gain proficiency.
Providing proper support to someone who has that computer is equally as important, however, so they can conduct their experiments in an environment that will scaffold their learning, help them chase their interests, and provide them with ways of recovering from failures when they happen. This responsibility should not be shirked or passed of onto others.
[This is the spot in the presentation where the questions and answers go, whether from the live presentation or the chat from the virtual audience.]
Licensing
This talk and the recording of the talk are licensed under a Creative Commons 4.0 Attribution-ShareAlike License (CC-BY-SA). Any materials referenced in this presentation may not be governed by the same or similar licenses. Please examine their licensing and copyright privisions before using or reposting that information.